/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controlador.Manejadores;

import Controlador.Exception.CampoNuloException;
import Controlador.Exception.ValorDuplicadoException;
import Controlador.RequestHandler;
import Persistencia.Entidades.Exportador;
import Persistencia.Exception.NoNuloException;
import Persistencia.Exception.UnicoException;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author zeta
 */
public class NuevoExportador implements RequestHandler {
Persistencia.DAOFactory dao;
Exportador expo;


    public NuevoExportador(Persistencia.DAOFactory dao) {
        this.dao = dao;
        expo = new Exportador();
    }



    public String handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        
        expo.setRazonSocial(request.getParameter("razonSocial"));
        expo.setAbreviado(request.getParameter("abreviado"));
        expo.setCuit(new Long(request.getParameter("cuit")));
        expo.setDireccion(request.getParameter("direccion"));
        expo.setLocalidad(request.getParameter("localidad"));
        expo.setProvincia(request.getParameter("provincia"));
        expo.setPais(request.getParameter("pais"));
        try {
            dao.getExportadorDAO().insertExportador(expo);
            request.setAttribute("mensaje", "Se guardo Correctamente el Exportador: "+ expo.getRazonSocial());

        } catch (NoNuloException ex) {
            request.setAttribute("mensaje", "Error algunos de los campos no puede ser nulo");
         // throw new CampoNuloException(ex.getMessage());

        }catch(UnicoException ex){
            request.setAttribute("mensaje", "Error algunos de los campos duplica los valores");
       //     throw new ValorDuplicadoException(ex.getMessage());
        }
        
        return "/Exportador/nuevoExportador.jsp";

    }
}
